/* Copyright 2018 JDCLOUD.COM

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http:#www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.





Contact: 

NOTE: This class is auto generated by the jdcloud code generator program.
*/

 

#ifndef EliteModel_h
#define EliteModel_h

@interface JdxSkuExtraChargeVo :NSObject

/// 额外计费项名称
@property (strong,nonatomic,nonnull)  NSString*  extraChargeName;

/// 额外计费项单位
@property (strong,nonatomic,nonnull)  NSString*  extraChargeUnit;

/// 售价
@property (strong,nonatomic,nonnull)  NSNumber*  sellingPrice;

/// 1、范围 2、枚举
@property (strong,nonatomic,nonnull)  NSNumber*  numType;

/// 1,100逗号分隔,numType&#x3D;1表示可购买数量的范围,numType&#x3D;2表示只支持购买特定数量
@property (strong,nonatomic,nonnull)  NSString*  num;


-(id) initWithExtraChargeName:(NSString*) extraChargeName
    extraChargeUnit:(NSString*)extraChargeUnit
    sellingPrice:(NSNumber*)sellingPrice
    numType:(NSNumber*)numType
    num:(NSString*)num;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface CartExtraChargeVo :NSObject

/// 额外计费项名称
@property (strong,nonatomic,nonnull)  NSString*  name;

/// 购买数量
@property (strong,nonatomic,nonnull)  NSNumber*  buyNum;


-(id) initWithName:(NSString*) name
    buyNum:(NSNumber*)buyNum;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface ReportOrderInfo :NSObject

/// 订单号
@property (strong,nonatomic,nonnull)  NSString*  orderNumber;

/// 经销商账号
@property (strong,nonatomic,nonnull)  NSString*  distributorAccount;

/// 经销商名称
@property (strong,nonatomic,nonnull)  NSString*  distributorName;

/// 补充信息，填写当前订单的一些描述信息
@property (strong,nonatomic,nonnull)  NSString*  extraInfo;


-(id) initWithOrderNumber:(NSString*) orderNumber
    distributorAccount:(NSString*)distributorAccount
    distributorName:(NSString*)distributorName
    extraInfo:(NSString*)extraInfo;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface OrderItemExtraChargeInfo :NSObject

/// 购买用户pin
@property (strong,nonatomic,nonnull)  NSString*  name;

/// 单位
@property (strong,nonatomic,nonnull)  NSString*  unit;

/// 购买数量
@property (strong,nonatomic,nonnull)  NSNumber*  buyNum;

/// 销售价格
@property (strong,nonatomic,nonnull)  NSString*  sellingPrice;

/// 结算价格
@property (strong,nonatomic,nonnull)  NSString*  settlementPrice;


-(id) initWithName:(NSString*) name
    unit:(NSString*)unit
    buyNum:(NSNumber*)buyNum
    sellingPrice:(NSString*)sellingPrice
    settlementPrice:(NSString*)settlementPrice;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface QueryDeliveryInfoResultVo :NSObject

/// 交付信息
@property (strong,nonatomic,nonnull)  NSString*  remark;

/// 生效时间，格式：yyyy-MM-dd HH:mm:ss
@property (strong,nonatomic,nonnull)  NSString*  effectiveDt;

/// 失效时间，格式：yyyy-MM-dd HH:mm:ss
@property (strong,nonatomic,nonnull)  NSString*  failureDt;


-(id) initWithRemark:(NSString*) remark
    effectiveDt:(NSString*)effectiveDt
    failureDt:(NSString*)failureDt;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface CreateOrderResultVo :NSObject

/// 订单号
@property (strong,nonatomic,nonnull)  NSString*  orderNumber;


-(id) initWithOrderNumber:(NSString*) orderNumber;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface StoreServiceDetailVo :NSObject

/// 商品spu对应的id
@property (strong,nonatomic,nonnull)  NSNumber*  spuId;

/// 商品sku对应的id
@property (strong,nonatomic,nonnull)  NSNumber*  skuId;

/// 滚存天数
@property (strong,nonatomic,nonnull)  NSNumber*  storeDays;

/// 开始时间，格式：yyyy-MM-dd HH:mm:ss
@property (strong,nonatomic,nonnull)  NSString*  startTime;

/// 结束时间，格式：yyyy-MM-dd HH:mm:ss
@property (strong,nonatomic,nonnull)  NSString*  endTime;


-(id) initWithSpuId:(NSNumber*) spuId
    skuId:(NSNumber*)skuId
    storeDays:(NSNumber*)storeDays
    startTime:(NSString*)startTime
    endTime:(NSString*)endTime;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface ConfirmDeliveryInfo :NSObject

/// 交付单号
@property (strong,nonatomic,nonnull)  NSString*  deliverNumber;

/// 交付单备注，填写交付时的信息，比如网址，账号等
@property (strong,nonatomic,nonnull)  NSString*  remark;


-(id) initWithDeliverNumber:(NSString*) deliverNumber
    remark:(NSString*)remark;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface OrderResourceFormulaVo :NSObject

/// 资源配置项编码，具体取值请在对接时联系我们
@property (strong,nonatomic,nonnull)  NSString*  key;

/// 资源配置项数量
@property (strong,nonatomic,nonnull)  NSNumber*  value;


-(id) initWithKey:(NSString*) key
    value:(NSNumber*)value;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface QueryPriceResultVo :NSObject

/// 总金额，小数后2位精度
@property (strong,nonatomic,nonnull)  NSNumber*  totalPrice;

/// 总金额，小数后4位精度
@property (strong,nonatomic,nonnull)  NSNumber*  totalPriceScale4;

/// 折扣后总金额
@property (strong,nonatomic,nonnull)  NSNumber*  discountedTotalPrice;

/// 折扣优惠金额
@property (strong,nonatomic,nonnull)  NSNumber*  totalDiscount;

/// 订单原价
@property (strong,nonatomic,nonnull)  NSNumber*  totalOriginalPrice;

/// 备注
@property (strong,nonatomic,nonnull)  NSString*  remark;


-(id) initWithTotalPrice:(NSNumber*) totalPrice
    totalPriceScale4:(NSNumber*)totalPriceScale4
    discountedTotalPrice:(NSNumber*)discountedTotalPrice
    totalDiscount:(NSNumber*)totalDiscount
    totalOriginalPrice:(NSNumber*)totalOriginalPrice
    remark:(NSString*)remark;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface JdxProductSkuVo :NSObject

/// sku ID
@property (strong,nonatomic,nonnull)  NSNumber*  skuId;

/// sku名称
@property (strong,nonatomic,nonnull)  NSString*  skuName;

/// 销售属性json字符串,version表示版本(套次、周期、套餐包类商品均有该属性),validity表示周期(周期和套餐包类商品有该属性),packageNum表示条数(只有套餐包类商品有该属性)：例如[{&quot;attrCode&quot;:&quot;version&quot;,&quot;attrValue&quot;:&quot;升级版&quot;},{&quot;attrCode&quot;:&quot;validity&quot;,&quot;attrValue&quot;:365},{&quot;attrCode&quot;:&quot;packageNum&quot;,&quot;attrValue&quot;:1000}]
@property (strong,nonatomic,nonnull)  NSString*  saleAttributes;

/// 最大购买数量
@property (strong,nonatomic,nonnull)  NSNumber*  maxBuyNum;

/// 最小购买数量
@property (strong,nonatomic,nonnull)  NSNumber*  minBuyNum;

/// sku 售价
@property (strong,nonatomic,nonnull)  NSNumber*  skuSellingPrice;

/// 额外计费项信息
@property (strong,nonatomic,nonnull)  NSArray<JdxSkuExtraChargeVo*>*  skuExtraChargeList;


-(id) initWithSkuId:(NSNumber*) skuId
    skuName:(NSString*)skuName
    saleAttributes:(NSString*)saleAttributes
    maxBuyNum:(NSNumber*)maxBuyNum
    minBuyNum:(NSNumber*)minBuyNum
    skuSellingPrice:(NSNumber*)skuSellingPrice
    skuExtraChargeList:(NSArray<JdxSkuExtraChargeVo*>*)skuExtraChargeList;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface ProductServiceVo :NSObject

/// 交付单号
@property (strong,nonatomic,nonnull)  NSString*  deliverNumber;

/// 订单号
@property (strong,nonatomic,nonnull)  NSString*  orderNumber;

/// 续费订单所关联的新购订单号，该字段只针对续费单有效，新购单该字段为null
@property (strong,nonatomic,nonnull)  NSString*  refOrderNumber;

/// 订单类型
@property (strong,nonatomic,nonnull)  NSNumber*  orderType;

/// 订单类型名称
@property (strong,nonatomic,nonnull)  NSString*  orderTypeName;

/// 购买人
@property (strong,nonatomic,nonnull)  NSString*  buyerPin;

/// 映射编号
@property (strong,nonatomic,nonnull)  NSString*  mappingCode;

/// 是否支持自动交付：0表示不支持，1表示支持
@property (strong,nonatomic,nonnull)  NSNumber*  supportAutoDeliver;

/// 产品ID
@property (strong,nonatomic,nonnull)  NSNumber*  productId;

/// sku ID
@property (strong,nonatomic,nonnull)  NSNumber*  skuId;

/// sku名称
@property (strong,nonatomic,nonnull)  NSString*  skuName;

/// 服务code
@property (strong,nonatomic,nonnull)  NSString*  serviceCode;

/// 数量
@property (strong,nonatomic,nonnull)  NSNumber*  num;

/// 周期
@property (strong,nonatomic,nonnull)  NSNumber*  period;

/// 周期类型
@property (strong,nonatomic,nonnull)  NSNumber*  periodType;

/// 周期类型名称
@property (strong,nonatomic,nonnull)  NSString*  periodTypeName;

/// 账号数量
@property (strong,nonatomic,nonnull)  NSNumber*  accountNum;

/// 交付状态
@property (strong,nonatomic,nonnull)  NSNumber*  deliverStatus;

/// 交付状态名称
@property (strong,nonatomic,nonnull)  NSString*  deliverStatusName;

/// 服务生效时间，格式：yyyy-MM-dd HH:mm:ss
@property (strong,nonatomic,nonnull)  NSString*  effectiveDt;

/// 服务过期时间，格式：yyyy-MM-dd HH:mm:ss
@property (strong,nonatomic,nonnull)  NSString*  failureDt;

/// 商品属性
@property (strong,nonatomic,nonnull)  NSString*  extraInfo;

/// 交付单备注
@property (strong,nonatomic,nonnull)  NSString*  remark;

/// 订单金额
@property (strong,nonatomic,nonnull)  NSString*  orderTotalFee;

/// 订单实付金额
@property (strong,nonatomic,nonnull)  NSString*  orderActualFee;

/// 订单支付时间
@property (strong,nonatomic,nonnull)  NSString*  paymentDt;

/// 额外计费项信息
@property (strong,nonatomic,nonnull)  NSString*  extraChargeInfo;

/// 额外计费详情信息
@property (strong,nonatomic,nonnull)  NSArray<OrderItemExtraChargeInfo*>*  orderItemExtraChargeInfos;


-(id) initWithDeliverNumber:(NSString*) deliverNumber
    orderNumber:(NSString*)orderNumber
    refOrderNumber:(NSString*)refOrderNumber
    orderType:(NSNumber*)orderType
    orderTypeName:(NSString*)orderTypeName
    buyerPin:(NSString*)buyerPin
    mappingCode:(NSString*)mappingCode
    supportAutoDeliver:(NSNumber*)supportAutoDeliver
    productId:(NSNumber*)productId
    skuId:(NSNumber*)skuId
    skuName:(NSString*)skuName
    serviceCode:(NSString*)serviceCode
    num:(NSNumber*)num
    period:(NSNumber*)period
    periodType:(NSNumber*)periodType
    periodTypeName:(NSString*)periodTypeName
    accountNum:(NSNumber*)accountNum
    deliverStatus:(NSNumber*)deliverStatus
    deliverStatusName:(NSString*)deliverStatusName
    effectiveDt:(NSString*)effectiveDt
    failureDt:(NSString*)failureDt
    extraInfo:(NSString*)extraInfo
    remark:(NSString*)remark
    orderTotalFee:(NSString*)orderTotalFee
    orderActualFee:(NSString*)orderActualFee
    paymentDt:(NSString*)paymentDt
    extraChargeInfo:(NSString*)extraChargeInfo
    orderItemExtraChargeInfos:(NSArray<OrderItemExtraChargeInfo*>*)orderItemExtraChargeInfos;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface ProductServiceVoListData :NSObject

/// 页码
@property (strong,nonatomic,nonnull)  NSNumber*  pageNo;

/// 每页记录数
@property (strong,nonatomic,nonnull)  NSNumber*  pageSize;

/// 总记录数
@property (strong,nonatomic,nonnull)  NSNumber*  totalRecord;

/// 总页数
@property (strong,nonatomic,nonnull)  NSNumber*  totalPage;

/// 交付单信息列表
@property (strong,nonatomic,nonnull)  NSArray<ProductServiceVo*>*  dataList;


-(id) initWithPageNo:(NSNumber*) pageNo
    pageSize:(NSNumber*)pageSize
    totalRecord:(NSNumber*)totalRecord
    totalPage:(NSNumber*)totalPage
    dataList:(NSArray<ProductServiceVo*>*)dataList;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface StoreServiceVo :NSObject

/// 购买用户pin
@property (strong,nonatomic,nonnull)  NSString*  buyerPin;

/// 业务数据，下单时传入的
@property (strong,nonatomic,nonnull)  NSString*  businessData;

/// 云存服务明细列表
@property (strong,nonatomic,nonnull)  NSArray<StoreServiceDetailVo*>*  storeServiceDetails;

/// 订单数量
@property (strong,nonatomic,nonnull)  NSNumber*  orderNum;

/// 更新时间，格式：yyyy-MM-dd HH:mm:ss
@property (strong,nonatomic,nonnull)  NSString*  updateTime;


-(id) initWithBuyerPin:(NSString*) buyerPin
    businessData:(NSString*)businessData
    storeServiceDetails:(NSArray<StoreServiceDetailVo*>*)storeServiceDetails
    orderNum:(NSNumber*)orderNum
    updateTime:(NSString*)updateTime;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface CreateOrderInfo :NSObject

/// spu ID
@property (strong,nonatomic,nonnull)  NSNumber*  productId;

/// sku ID
@property (strong,nonatomic,nonnull)  NSNumber*  skuId;

/// 购买数量
@property (strong,nonatomic,nonnull)  NSNumber*  buyNum;

/// 备注
@property (strong,nonatomic,nonnull)  NSString*  remark;

/// 额外计费项信息
@property (strong,nonatomic,nonnull)  NSArray<CartExtraChargeVo*>*  cartExtraChargeVos;


-(id) initWithProductId:(NSNumber*) productId
    skuId:(NSNumber*)skuId
    buyNum:(NSNumber*)buyNum
    remark:(NSString*)remark
    cartExtraChargeVos:(NSArray<CartExtraChargeVo*>*)cartExtraChargeVos;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface OrderPriceProtocolVo :NSObject

/// 资源id，续费和升降配时必传，其他非必传
@property (strong,nonatomic,nonnull)  NSString*  resourceId;

/// 资源的类型，取值vm,disk,ip等，具体取值请在对接时联系我们
@property (strong,nonatomic,nonnull)  NSString*  serviceCode;

/// 资源所在区域，取值cn-north-1,cn-east-1,cn-east-2,cn-south-1
@property (strong,nonatomic,nonnull)  NSString*  region;

/// 计费类型，1:按配置 2:按用量 3:包年包月
@property (strong,nonatomic,nonnull)  NSNumber*  billingType;

/// 资源配置项列表
@property (strong,nonatomic,nonnull)  NSArray<OrderResourceFormulaVo*>*  formula;

/// 资源数量
@property (strong,nonatomic,nonnull)  NSNumber*  count;

/// 资源使用时长
@property (strong,nonatomic,nonnull)  NSNumber*  timeSpan;

/// 资源使用时长类型，1:小时 2:天 3:月 4:年
@property (strong,nonatomic,nonnull)  NSNumber*  timeUnit;

/// 资源网络类型，0:无 1:non-BGP 2:BGP，当资源类型是ip时，则需要填写1或者2，其他资源类型填写0
@property (strong,nonatomic,nonnull)  NSNumber*  networkOperator;

/// 用户pin，如有优惠用户，则填写优惠用户的pin，否则不用填写
@property (strong,nonatomic,nonnull)  NSString*  pin;

/// 开始时间，格式：yyyy-MM-dd HH:mm:ss
@property (strong,nonatomic,nonnull)  NSString*  startTime;

/// 结束时间，格式：yyyy-MM-dd HH:mm:ss
@property (strong,nonatomic,nonnull)  NSString*  endTime;


-(id) initWithResourceId:(NSString*) resourceId
    serviceCode:(NSString*)serviceCode
    region:(NSString*)region
    billingType:(NSNumber*)billingType
    formula:(NSArray<OrderResourceFormulaVo*>*)formula
    count:(NSNumber*)count
    timeSpan:(NSNumber*)timeSpan
    timeUnit:(NSNumber*)timeUnit
    networkOperator:(NSNumber*)networkOperator
    pin:(NSString*)pin
    startTime:(NSString*)startTime
    endTime:(NSString*)endTime;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface JdxProductVo :NSObject

/// 产品ID
@property (strong,nonatomic,nonnull)  NSNumber*  productId;

/// 商品名称
@property (strong,nonatomic,nonnull)  NSString*  productName;

/// 商标图片地址
@property (strong,nonatomic,nonnull)  NSString*  trademarkUrl;

/// 所属一级分类名称
@property (strong,nonatomic,nonnull)  NSString*  categoryLevel1Name;

/// 所属二级分类名称
@property (strong,nonatomic,nonnull)  NSString*  categoryLevel2Name;

/// 交付形态
@property (strong,nonatomic,nonnull)  NSNumber*  deliveryForm;

/// 交付形态名称
@property (strong,nonatomic,nonnull)  NSString*  deliveryFormName;

/// 商品简介
@property (strong,nonatomic,nonnull)  NSString*  introduction;

/// 商品定价模式 1:按套次、2:按周期、3:按套餐包
@property (strong,nonatomic,nonnull)  NSNumber*  sellType;

/// 商品定价模式名称
@property (strong,nonatomic,nonnull)  NSString*  sellTypeName;

/// -1:不允许退款， 单位：天， 默认-1
@property (strong,nonatomic,nonnull)  NSNumber*  refundDays;

/// pc端商品详情
@property (strong,nonatomic,nonnull)  NSString*  pcProductDetail;

/// m端商品详情
@property (strong,nonatomic,nonnull)  NSString*  mProductDetail;

/// sku详情信息
@property (strong,nonatomic,nonnull)  NSArray<JdxProductSkuVo*>*  productSkuList;


-(id) initWithProductId:(NSNumber*) productId
    productName:(NSString*)productName
    trademarkUrl:(NSString*)trademarkUrl
    categoryLevel1Name:(NSString*)categoryLevel1Name
    categoryLevel2Name:(NSString*)categoryLevel2Name
    deliveryForm:(NSNumber*)deliveryForm
    deliveryFormName:(NSString*)deliveryFormName
    introduction:(NSString*)introduction
    sellType:(NSNumber*)sellType
    sellTypeName:(NSString*)sellTypeName
    refundDays:(NSNumber*)refundDays
    pcProductDetail:(NSString*)pcProductDetail
    mProductDetail:(NSString*)mProductDetail
    productSkuList:(NSArray<JdxProductSkuVo*>*)productSkuList;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface JdxProductVoListData :NSObject

/// 页码
@property (strong,nonatomic,nonnull)  NSNumber*  pageNo;

/// 每页记录数
@property (strong,nonatomic,nonnull)  NSNumber*  pageSize;

/// 总记录数
@property (strong,nonatomic,nonnull)  NSNumber*  totalRecord;

/// 总页数
@property (strong,nonatomic,nonnull)  NSNumber*  totalPage;

/// 商品信息列表
@property (strong,nonatomic,nonnull)  NSArray<JdxProductVo*>*  dataList;


-(id) initWithPageNo:(NSNumber*) pageNo
    pageSize:(NSNumber*)pageSize
    totalRecord:(NSNumber*)totalRecord
    totalPage:(NSNumber*)totalPage
    dataList:(NSArray<JdxProductVo*>*)dataList;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end
@interface QueryPriceParam :NSObject

/// 操作类型 1:创建 2:续费 3:升降配
@property (strong,nonatomic,nonnull)  NSNumber*  cmd;

/// 打包购买包数
@property (strong,nonatomic,nonnull)  NSNumber*  packageCount;

/// OrderList
@property (strong,nonatomic,nonnull)  NSArray<OrderPriceProtocolVo*>*  orderList;


-(id) initWithCmd:(NSNumber*) cmd
    packageCount:(NSNumber*)packageCount
    orderList:(NSArray<OrderPriceProtocolVo*>*)orderList;
-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;                    
@end

#endif /* EliteModel_h */
